package com.sdy.resdir.biz.model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sdy.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdy.common.utils.DateUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 保存ip变更记录，用于ip修改申请单完成后发放申请的内容
 * </p>
 *
 * @author hyh
 * @since 2019-10-28
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "RdIpChange对象", description = "保存ip变更记录，用于ip修改申请单完成后发放申请的内容")
public class RdIpChange extends BaseModel {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    @TableId
    private Integer id;

    /**
     * 变动类型: 0-新增 1-修改
     */
    @ApiModelProperty(value = "变动类型: 0-新增 1-修改 2-删除")
    private Integer type;

    /**
     * 自建系统ID
     */
    @ApiModelProperty(value = "自建系统ID")
    private Integer appId;

    /**
     * 旧IP地址
     */
    @ApiModelProperty(value = "旧IP地址")
    private String oldIp;

    /**
     * 新IP地址
     */
    @ApiModelProperty(value = "新IP地址")
    private String newIp;

    /**
     * 如果是修改，则指定要修改的数据的ID,否则为null即可
     */
    @ApiModelProperty(value = "如果是修改，则指定要修改的数据的ID,否则为null即可")
    private Integer aimsId;

    /**
     * 资源列表
     */
    @ApiModelProperty(value = "旧资源列表")
    private String oldResIdList;

    /**
     * 资源列表
     */
    @ApiModelProperty(value = "新资源列表")
    private String newResIdList;

    /**
     * 资源名称
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "旧资源名称")
    private List<String> oldResName = new ArrayList<>();

    @TableField(exist = false)
    @ApiModelProperty(value = "新资源名称")
    private List<String> newResName = new ArrayList<>();

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    private Date createTime;

}
